<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<title>Ananas Library: Класс aTemplate</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Создано системой Doxygen 1.5.6 -->
<div class="navigation" id="top">
  <div class="tabs">
    <ul>
      <li><a href="index.html"><span>Титульная&nbsp;страница</span></a></li>
      <li class="current"><a href="annotated.html"><span>Классы</span></a></li>
      <li><a href="files.html"><span>Файлы</span></a></li>
    </ul>
  </div>
  <div class="tabs">
    <ul>
      <li><a href="annotated.html"><span>Классы</span></a></li>
      <li><a href="hierarchy.html"><span>Иерархия&nbsp;классов</span></a></li>
      <li><a href="functions.html"><span>Члены&nbsp;классов</span></a></li>
    </ul>
  </div>
</div>
<div class="contents">
<h1>Класс aTemplate</h1><!-- doxytag: class="aTemplate" --><!-- doxytag: inherits="iTemplate" -->Класс для работы с шаблонами в HTML формате. Наследует <a class="el" href="classiTemplate.html" title="Интерфейс для работы с отчетами. Наследует QObject...">iTemplate</a>.  
<a href="#_details">Подробнее...</a>
<p>
<code>#include &lt;<a class="el" href="atemplate_8h-source.html">atemplate.h</a>&gt;</code>
<p>
<div class="dynheader">
Граф наследования:aTemplate:</div>
<div class="dynsection">

<p><center><img src="classaTemplate.png" usemap="#aTemplate_map" border="0" alt=""></center>
<map name="aTemplate_map">
<area href="classiTemplate.html" alt="iTemplate" shape="rect" coords="0,0,69,24">
</map>
</div>

<p>
<a href="classaTemplate-members.html">Полный список членов класса</a><table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Открытые члены</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classaTemplate.html#2658604931d58226269e3f873b5c10a5">open</a> (const QString &amp;fname)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classaTemplate.html#6e8ff409e61bac821c453487970554be">close</a> ()</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classaTemplate.html#fc6f8c6f262c15d161ab59b68d70fc5b">clear</a> ()</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">QString&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classaTemplate.html#d0ebc4bed4dee6d02fcca46ea3cdfafe">getValue</a> (const QString &amp;name)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classaTemplate.html#e5aeb0acd5864b0d0db694a27a5da8ae">setValue</a> (const QString &amp;name, const QString &amp;value)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">QString&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classaTemplate.html#b895e352fe91db1919b6be9bec2a5386">exec</a> (const QString &amp;sname)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">QString&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classaTemplate.html#84d1ace55ffce82606bd7f1418f5ec9a">result</a> ()</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="4e7abcd5e75fdbd50a6db3c3308c2cf4"></a><!-- doxytag: member="aTemplate::save" ref="4e7abcd5e75fdbd50a6db3c3308c2cf4" args="(const QString &amp;fname)" -->
bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classaTemplate.html#4e7abcd5e75fdbd50a6db3c3308c2cf4">save</a> (const QString &amp;fname)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Сохраняет документ в файл с заданным именем. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classaTemplate.html#c07a06f6fc470bd3e46101776434f6d2">cleanUpTags</a> ()</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classaTemplate.html#ec2aabf0417d319669850063ec9a9201">setDir</a> (const QString &amp;dir)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual QString&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classaTemplate.html#62b9880860aba51987368eccb5a6a997">getDir</a> ()</td></tr>

<tr><td colspan="2"><br><h2>Защищенные данные</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="b41b3a95eb21bb324d4b7b9df8bec05e"></a><!-- doxytag: member="aTemplate::templateDir" ref="b41b3a95eb21bb324d4b7b9df8bec05e" args="" -->
QString&nbsp;</td><td class="memItemRight" valign="bottom"><b>templateDir</b></td></tr>

</table>
<hr><a name="_details"></a><h2>Подробное описание</h2>
Класс для работы с шаблонами в HTML формате. Наследует <a class="el" href="classiTemplate.html" title="Интерфейс для работы с отчетами. Наследует QObject...">iTemplate</a>. 
<p>
Приведенный пример показывает создание таблицы размеров 10х10. <div class="fragment"><pre class="fragment">        function printreport()
        {
                p = <span class="keyword">new</span> Report(<span class="stringliteral">"Report1"</span>);
                p.setTable(<span class="stringliteral">"report.tpl"</span>);
                p.setValue(<span class="stringliteral">"title"</span>,<span class="stringliteral">"Заголовок таблицы :"</span>+Value(<span class="stringliteral">"eHeader"</span>) + Value(<span class="stringliteral">"fNDS"</span>));
                p.exec(<span class="stringliteral">"main"</span>);
                <span class="keywordflow">for</span> ( i = 1; i&lt;10; i++)
                {
                        p.setValue(<span class="stringliteral">"value"</span>, String(i) );
                        p.exec(<span class="stringliteral">"trow"</span>);
                        <span class="keywordflow">for</span> ( j=1; j&lt;10; j++)
                        {
                                p.setValue(<span class="stringliteral">"value"</span>, String(i)+<span class="stringliteral">":"</span>+String(j) );
                                p.exec(<span class="stringliteral">"col"</span>);
                        }
                        p.exec(<span class="stringliteral">"endrow"</span>);
                }
                p.exec(<span class="stringliteral">"endmain"</span>);
                p.show();
                <span class="keyword">delete</span> p;       
        }
</pre></div> Шаблон: <div class="fragment"><pre class="fragment">&lt;#section main#&gt;
&lt;html&gt;
&lt;header&gt;
&lt;title&gt;Ananas HTTP Server&lt;/title&gt;
&lt;/header&gt;
&lt;body bgcolor=gray&gt;
&lt;img src=<span class="stringliteral">"a-system.png"</span>&gt;&lt;#title#&gt;
&lt;table border=1 cellspacing=0 cellpadding=0 spacing=0&gt;
&lt;#endsection#&gt;

&lt;#section endmain#&gt;
&lt;/table&gt;
&lt;/body&gt;&lt;/html&gt;
&lt;#endsection#&gt;

&lt;#section trow#&gt;&lt;tr&gt;&lt;td width=100 bgcolor=lightblue&gt;&lt;#value#&gt;)&lt;/td&gt;&lt;#endsection#&gt;

&lt;#section endrow#&gt;&lt;/tr&gt;
&lt;#endsection#&gt;

&lt;#section col#&gt;&lt;td align=center&gt;&lt;#value#&gt;&lt;/td&gt;&lt;#endsection#&gt;
</pre></div> <hr><h2>Методы</h2>
<a class="anchor" name="2658604931d58226269e3f873b5c10a5"></a><!-- doxytag: member="aTemplate::open" ref="2658604931d58226269e3f873b5c10a5" args="(const QString &amp;fname)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool aTemplate::open           </td>
          <td>(</td>
          <td class="paramtype">const QString &amp;&nbsp;</td>
          <td class="paramname"> <em>fname</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Открывает шаблон. 
<p>Замещает <a class="el" href="classiTemplate.html#8a8de851d0401d417b0c8e8f57f54a07">iTemplate</a>.</p>

<p>Перекрестные ссылки <a class="el" href="alog_8cpp-source.html#l00058">aLog::print()</a>.</p>

</div>
</div><p>
<a class="anchor" name="6e8ff409e61bac821c453487970554be"></a><!-- doxytag: member="aTemplate::close" ref="6e8ff409e61bac821c453487970554be" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void aTemplate::close           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Закрывает шаблон. 
<p>Переопределяет метод предка <a class="el" href="classiTemplate.html#6b6c46451a1b933b668683cb2b680299">iTemplate</a>.</p>

</div>
</div><p>
<a class="anchor" name="fc6f8c6f262c15d161ab59b68d70fc5b"></a><!-- doxytag: member="aTemplate::clear" ref="fc6f8c6f262c15d161ab59b68d70fc5b" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void aTemplate::clear           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Обнуляет внутренние переменные. 
<p>Переопределяет метод предка <a class="el" href="classiTemplate.html#b2ccc73310de9e1a7a1442360a0d4042">iTemplate</a>.</p>

</div>
</div><p>
<a class="anchor" name="d0ebc4bed4dee6d02fcca46ea3cdfafe"></a><!-- doxytag: member="aTemplate::getValue" ref="d0ebc4bed4dee6d02fcca46ea3cdfafe" args="(const QString &amp;name)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">QString aTemplate::getValue           </td>
          <td>(</td>
          <td class="paramtype">const QString &amp;&nbsp;</td>
          <td class="paramname"> <em>name</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Возвращает значение параметра по его имени. 
<p>Переопределяет метод предка <a class="el" href="classiTemplate.html#afcc466ddc7bb2a5178312051e32dfc5">iTemplate</a>.</p>

<p>Используется в <a class="el" href="atemplate_8cpp-source.html#l00110">exec()</a>.</p>

</div>
</div><p>
<a class="anchor" name="e5aeb0acd5864b0d0db694a27a5da8ae"></a><!-- doxytag: member="aTemplate::setValue" ref="e5aeb0acd5864b0d0db694a27a5da8ae" args="(const QString &amp;name, const QString &amp;value)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void aTemplate::setValue           </td>
          <td>(</td>
          <td class="paramtype">const QString &amp;&nbsp;</td>
          <td class="paramname"> <em>name</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const QString &amp;&nbsp;</td>
          <td class="paramname"> <em>value</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Устанавливает значение параметра по его имени. 
<p>Переопределяет метод предка <a class="el" href="classiTemplate.html#6414ef83e6d4bb5a9a9b03e9db21e290">iTemplate</a>.</p>

</div>
</div><p>
<a class="anchor" name="b895e352fe91db1919b6be9bec2a5386"></a><!-- doxytag: member="aTemplate::exec" ref="b895e352fe91db1919b6be9bec2a5386" args="(const QString &amp;sname)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">QString aTemplate::exec           </td>
          <td>(</td>
          <td class="paramtype">const QString &amp;&nbsp;</td>
          <td class="paramname"> <em>sname</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Выполняет подстановку значения параметра в шаблоне. Может вызываться несколько раз. 
<p>Переопределяет метод предка <a class="el" href="classiTemplate.html#c7d5273e1f4637384e648b4c95b08bae">iTemplate</a>.</p>

<p>Перекрестные ссылки <a class="el" href="atemplate_8cpp-source.html#l00085">getValue()</a>.</p>

</div>
</div><p>
<a class="anchor" name="84d1ace55ffce82606bd7f1418f5ec9a"></a><!-- doxytag: member="aTemplate::result" ref="84d1ace55ffce82606bd7f1418f5ec9a" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">QString aTemplate::result           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Возвращает результат, т.е. шаблон в текстовом виде. Включена в интерфейс временно. 
<p>Переопределяет метод предка <a class="el" href="classiTemplate.html#b50ddabfbad0a49c5d6daef90cd46ab3">iTemplate</a>.</p>

<p>Используется в <a class="el" href="atemplate_8cpp-source.html#l00170">save()</a>.</p>

</div>
</div><p>
<a class="anchor" name="c07a06f6fc470bd3e46101776434f6d2"></a><!-- doxytag: member="aTemplate::cleanUpTags" ref="c07a06f6fc470bd3e46101776434f6d2" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void aTemplate::cleanUpTags           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Очищает все теги 
<p>Переопределяет метод предка <a class="el" href="classiTemplate.html#97bc4096b4e0ac4a56d5420225f19fd8">iTemplate</a>.</p>

</div>
</div><p>
<a class="anchor" name="ec2aabf0417d319669850063ec9a9201"></a><!-- doxytag: member="aTemplate::setDir" ref="ec2aabf0417d319669850063ec9a9201" args="(const QString &amp;dir)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void aTemplate::setDir           </td>
          <td>(</td>
          <td class="paramtype">const QString &amp;&nbsp;</td>
          <td class="paramname"> <em>dir</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Устанавливает рабочую директорию 
<p>Переопределяет метод предка <a class="el" href="classiTemplate.html#9ab28504cddca046af153f7b11b16143">iTemplate</a>.</p>

<p>Перекрестные ссылки <a class="el" href="alog_8cpp-source.html#l00058">aLog::print()</a>.</p>

</div>
</div><p>
<a class="anchor" name="62b9880860aba51987368eccb5a6a997"></a><!-- doxytag: member="aTemplate::getDir" ref="62b9880860aba51987368eccb5a6a997" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">QString aTemplate::getDir           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Возвращает рабочую директорию 
<p>Переопределяет метод предка <a class="el" href="classiTemplate.html#9b05b82bad9eb38263bd0f6d74e9b7a0">iTemplate</a>.</p>

</div>
</div><p>
<hr>Объявления и описания членов классов находятся в файлах:<ul>
<li><a class="el" href="atemplate_8h-source.html">atemplate.h</a><li>atemplate.cpp</ul>
</div>
<hr size="1"><address style="text-align: right;"><small>Документация по Ananas Library. Последние изменения: Sun Feb 1 21:47:15 2009. Создано системой&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.6 </small></address>
</body>
</html>
